//常量  
#include <stdio.h>
/*
#define N "compress" //define定义的标识符常量
int main()
{
    printf("%s\n",N);// %s ：字符串
    return 0;
}
*/

//枚举常量
enum Color
{
    //枚举常量，没有开辟空间，只是一些值
    RED,//都是有值的，默认为0
    GREEN,//默认为1
    BLUE//默认为2
};
int main()
{
    enum Color c=BLUE;//c为变量，向内存申请空间
    //BLUE=20 会报错，常量不可改
    printf("%d\n",c);
    return 0;
}
//输出结果：2 
enum weekday
{
    mon=1,tue,wed,thu,fri,sat,sun
    //1    2   3   4   5   6   7
};
int main()
{
    enum weekday a=mon;
    enum weekday b=fri;
    printf("%d %d",a,b);//输出：1 5
    return 0;
}
enum weekday
{
    x,y=9,z,p,q=y+4
//  0  9 10 11  13
};
int main()
{
    enum weekday a,b,c;
    a=x;
    b=z;
    c=q;
    printf("%d %d %d",a,b,c);//输出：0 10 13
    return 0;
}


//define定义宏
//宏是有参数的
/*
#define Add(x,y) ((x)+(y))    宏

int Add(int x,int y)    函数
{
    return x+y;
}

int main()
{
    int a=2;
    int b=3;
    int c=Add(a,b);
    printf("%d\n",c);
    return 0;
}
*/
#define A(x,y) x%y
int main()
{
    int a=13,b=94;
    printf("%d",A(b,a+4));//输出：7
    return 0;
}
//因为宏替换是直接替换的，所以 b%a+4 ，先%后+